﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;

namespace EasyTrader.Form
{
    public partial class WaveSettings : System.Windows.Forms.Form
    {
        public WaveSettings()
        {
            InitializeComponent();
            InitControl();
        }

        private void InitControl()
        {
            int selectedIndex = comboSignalMinWaveHeight.FindString(GlobalVar.HighLowPercent.ToString());
            comboSignalMinWaveHeight.SelectedIndex = selectedIndex;

            selectedIndex = comboSignalTransMinPercent.FindString(GlobalVar.SignalTransMinPercent.ToString());
            comboSignalTransMinPercent.SelectedIndex = selectedIndex;

            selectedIndex = comboWaveHeightLimit.FindString(GlobalVar.WaveHeightLimit.ToString());
            comboWaveHeightLimit.SelectedIndex = selectedIndex;

            selectedIndex = comboWaveLenLimit.FindString(GlobalVar.WaveLenLimit.ToString());
            comboWaveLenLimit.SelectedIndex = selectedIndex;
        }

        private void comboSignalMinWaveHeight_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboSignalMinWaveHeight.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.SignalMinWaveHeight = Convert.ToDouble(selText);

            string regSubkey = "Software\\EasyTrader\\Wave";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("SignalMinWaveHeight", GlobalVar.SignalMinWaveHeight.ToString());
        }

        private void comboSignalTransMinPercent_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboSignalTransMinPercent.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.SignalTransMinPercent = Convert.ToDouble(selText);

            string regSubkey = "Software\\EasyTrader\\Wave";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("SignalTransMinPercent", GlobalVar.SignalTransMinPercent.ToString());
        }

        private void comboWaveHeightLimit_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboWaveHeightLimit.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.WaveHeightLimit = Convert.ToDouble(selText);

            string regSubkey = "Software\\EasyTrader\\Wave";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("WaveHeightLimit", GlobalVar.WaveHeightLimit.ToString());
        }

        private void comboWaveLenLimit_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboWaveLenLimit.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.WaveLenLimit = Convert.ToInt32(selText);

            string regSubkey = "Software\\EasyTrader\\Wave";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("WaveLenLimit", GlobalVar.WaveLenLimit.ToString());
        }
    }
}
